import CannonCtr from "../CannonCtr";
import ResManager from "./ResManager";

// Learn TypeScript:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/typescript.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/typescript.html
// Learn Attribute:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/reference/attributes.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/reference/attributes.html
// Learn life-cycle callbacks:
//  - [Chinese] http://docs.cocos.com/creator/manual/zh/scripting/life-cycle-callbacks.html
//  - [English] http://www.cocos2d-x.org/docs/creator/manual/en/scripting/life-cycle-callbacks.html

const {ccclass, property} = cc._decorator;

@ccclass
export default class CannonManager{

    private static instance:CannonManager = null;
    static getInstance():CannonManager{
        if(this.instance == null){
            this.instance = new CannonManager();
        }
        return this.instance;
    }
    //创建一个大炮
    public static createCannon(cannonId:number,cannonParent:cc.Node,callBack:Function){
        ResManager.loadPrefab("prefabs/cannons/"+"cannon" +cannonId.toString(),function(prefab){
            let cannonNode = cc.instantiate(prefab);
            let cannonCtr = (cannonNode as cc.Node).getComponent<CannonCtr>(CannonCtr);
            cannonCtr.node.setParent(cannonParent)
            callBack(cannonCtr)
        }.bind(this));
    }
}
